﻿#include "adc.h"

uint16_t ADC_Value = 0;
uint16_t ADC_Volt = 0;

void Delay_1us( uint32_t cnt)
{
   uint32_t temp;
 SysTick->LOAD = 9* cnt;
 SysTick->VAL=0X00;//清空计数器
 SysTick->CTRL=0X01;//使能，减到零是无动作，采用外部时钟源
 do
 {
  temp=SysTick->CTRL;//读取当前倒计数值
 }while((temp&0x01)&&(!(temp&(1<<16))));//等待时间到达
     SysTick->CTRL=0x00; //关闭计数器
    SysTick->VAL =0X00; //清空计数器
}

void Delay_ms( uint32_t cnt)
{   uint32_t i=0; 
     for(i=0;i<cnt;i++)
	  Delay_1us(1000);
}

void ADC0_Get_Value(void)//查询方式
{
	HAL_ADC_Start(&hadc1);
	if(HAL_ADC_PollForConversion(&hadc1,10)==HAL_OK)
	{
		ADC_Value=HAL_ADC_GetValue(&hadc1);
		ADC_Volt=ADC_Value*330/4096;//光照值
	}
	HAL_ADC_Stop(&hadc1);
	
}
